package com.example.jwt.annotation;

import java.lang.annotation.*;


/**
 * @author: mtl
 * @Date: 2022/1/17 17:05
 * @Description: 用户权限控制注解
 */
@Documented
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAuthority {

    /**
     * 角色 必须存在指定角色才能通过
     * 推荐以 list-update list-delete 命名
     * @return
     */
     String[] roles() default "";

    /**
     * 权限 必须存在指定权限才能通过
     * 推荐以 vip  admin 命名
     * @return
     */
     String[] permissions() default "";

    /**
     * 权限关联关系 是存其 还是共存
     * 1只要角色或者权限其中一个符合就通过  2必须同时存在全部的角色和权限才通过
     * @return
     */
     int relation() default 1 ;
}
